package com.jerry.hm.datastructure.queue;

/**
 * 队列
 *
 * @author Jerry
 * @since 2024/10/3 10:27
 */
public interface Queue<E> {

    /**
     * 向队尾插入元素
     *
     * @param e
     * @return
     */
    boolean offer(E e);

    /**
     * 从队首移除元素
     *
     * @return
     */
    E poll();

    /**
     * 从队首获取元素
     *
     * @return
     */
    E peek();

    /**
     * 队列是否为空
     *
     * @return
     */
    boolean isEmpty();

    /**
     * 队列是否已满
     *
     * @return
     */
    boolean isFull();
}
